/*
 * @Author: 九阳
 * @Date: 2021-11-17 15:20:14
 * @LastEditors: 九阳
 * @LastEditTime: 2023-10-18 10:31:30
 */
const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
const IS_DEV = ["development"].includes(process.env.NODE_ENV);
let productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i;
const path = require("path");
module.exports = {
  // 基本路径   整个文件夹在哪
  publicPath: "./",
  // 输出文件目录   文件夹名
  outputDir: "dist",
  // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。    资源放的目录
  assetsDir: "./static",
  // 指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径    index的路劲和名字
  indexPath: "./index.html",
  // eslint-loader 是否在保存的时候检查
  lintOnSave: true,
  // runtimeCompiler: true, // 运行时版本是否需要编译
  transpileDependencies: [], // 默认babel-loader忽略mode_modules，这里可增加例外的依赖包名

  css: {
    loaderOptions: {
      less: {
        lessOptions: {
          modifyVars: {
            "primary-color": "#1DA57A",
            "link-color": "#1DA57A",
            "border-radius-base": "2px",
          },
          javascriptEnabled: true,
        },
      },
    },
  },
  chainWebpack: config => {
    config.plugin("CompressionPlugin").use('compression-webpack-plugin', [{
      filename: '[path][base].gz',
      algorithm: 'gzip',
      // 要压缩的文件（正则）
      test: productionGzipExtensions,
      // 最小文件开启压缩
      threshold: 10240,
      minRatio: 0.8
    }])

  },
  //   parallel: require("os").cpus().length > 1, // 构建时开启多进程处理babel编译
  //   pluginOptions: {
  //     "style-resources-loader": {
  //       preProcessor: "less",
  //       patterns: [path.resolve(__dirname, "./src/assets/less/global.less")]
  //     }
  //   },
  //   pwa: {
  //     // 单页插件相关配置 https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
  //   },
  // devServer: {
  //     open: true,
  //     host: "127.0.0.1",
  //     port: 8081,
  //     https: false,
  //     hotOnly: false,
  //     proxy: {},
  //     proxy: {
  //         '/api': {
  //             target: process.env.VUE_APP_API_URL,
  //             // target: 'http://localhost:8888',
  //             changeOrigin: true,
  //             logLevel: 'debug',
  //             pathRewrite: {
  //                 '^/api': ''
  //             }
  //         }
  //     }
  // }
};
